As communication networks grow in both size and scale, the speed at which packets need to be forwarded becomes higher and higher. The traditional approach to achieve higher switching speeds has been to build fast switches that operate at the datalink layer (otherwise known in the art as layer 2 of the seven-layer OSI model). A more recent trend, spurred on by the dramatic growth of the Internet, has been to build faster network layer (layer 3) routers that have more and more forwarding capacity. Despite the tremendous amount of investment today into fabricating higher speed routers, there are several advantages to combining layer 2 switching and layer 3 forwarding. These include the ability to exploit efficient layer 2 switching, the reduction in router capacity requirements, the ability to provision and manage layer 2 and layer 3 capacity separately, and the ability to share resources with other services. The Internet Protocol (IP) utilized by routers emphasizes efficient transport of best-effort flows and support for large-scale networks. The simpler the model for forwarding in IP, the more likely it is to scale in speed and the number of routes. On the other hand, services that require stringent quality-of-service may want to take advantage of a layer 2 infrastructure that has the ability to support per-flow queuing and scheduling mechanisms, as well as packet forwarding capability.
Asynchronous Transfer Mode (ATM) networks, for example, have become the technology of choice for the Internet backbone because of its ability to support various levels of quality/class of service and because of its speed and scalability over distance. ATM is a connection-oriented layer 2 protocol which utilizes fast cell switching to provide data rates that scale from 25 Mbps up to 622 Mbps and greater. ATM switches store state information to manage a virtual circuit between the source and the destination. The use of connection-oriented virtual circuits allows packets to be divided into smaller, fixed length cells, which minimizes the delay in forwarding data and provides high performance operation.
The incentive to operate IP over an ATM backbone, however, has been complicated by various internetworking issues arising between IP and ATM. The simple approach of having all of the routers connected to the ATM cloud peer with each other resulting in N2 adjacencies, does not scale as the size of the routing tables and the routing overhead grow unreasonably large for network sizes of interest. During the past few years, these issues have been addressed by the Internet Engineering Task Force (IETF), ATM Forum, ITU-T and many industry leaders. See, e.g., Cole et al., “IP over ATM: A Framework Document,” Internet Draft (draft-ietf-ipatm-framework-doc-08.txt), Feb. 23, 1996. As a result, a variety of approaches have been proposed to employ ATM in an Internet backbone.
In particular, the IETF is currently studying an address resolution protocol known as the Next Hop Resolution Protocol (NHRP). See Katz et al., “NBMA Next Hop Resolution Protocol (NHRP),” Internet Draft (draft-ietf-rolc-nhrp-04.txt), May 1995. This protocol maps IP addresses to the corresponding ATM addresses that are located across subnetwork boundaries so that paths across distinct ATM clouds may be realized. NHRP, however, raises a number of concerns that motivate the present invention. The NHRP address resolution process adds latency to packet forwarding. In addition, the NHRP model employs servers to process NHRP messages and which must maintain state associated with each NHRP reply that it generates. These servers represent a potential bottleneck, as well as raise issues with regard to scaling and reliability. Furthermore, under certain conditions, NHRP can introduce the possibility of stable routing loops when used between two routers.
Other proposals for combining layer 2 switching with layer 3 routing include Ipsilon's IP switching, Toshiba's Cell Switch Routing (CSR), Aggregate Route-based IP switching (ARTS), and the emerging Multi-Protocol Label Switching (MKS). In each of these proposals, every switch participates in IP routing, although each of the proposals use different variations in the way in which switched paths are established and used. A concern with these approaches is that they fail to maintain architectural independence between the layer 2 and layer 3 networks. This coupling between layers is undesirable, particularly in a large provider network where the layer 2 network may be designed for multiple services and is not necessarily optimized to meet the needs of the IP layer. The above approaches also limit deployment flexibility in that, for example, the scope of the layer 2 and layer 3 networks may necessitate hierarchical approaches to routing. Hybrid switches require support for both ATM and MPLS protocols on every switch, which introduces both architectural and management complexity.